package com.andnnl.template.param;

import com.fasterxml.jackson.databind.JsonNode;

public abstract class BaseParamConfig {
    String name;
    String type;

    public abstract void validate() throws IllegalArgumentException;

    public abstract boolean validateValue(String value) throws IllegalArgumentException;
    
    public abstract String generateValue();
    
    public abstract void fromJson(JsonNode node);

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}